package com.qzdatasoft.autoconfigure.ratelimit;

import com.qzdatasoft.ratelimit.po.RateLimitRulePo;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

@ConfigurationProperties(prefix = "ratelimit")
@Data
public class RateLimitProperties {

    /**
     * 是否启用限流功能，默认启用
     */
    private boolean enabled = false;

    /**
     * Filter执行顺序（Ordered.HIGHEST_PRECEDENCE为最高优先级）
     */
    private int filterOrder = Integer.MIN_VALUE;

    /**
     * 限流规则配置文件路径
     */
    private List<RateLimitRulePo> rules = new ArrayList<>();
}
